Declare single library in CMake#134
Closed
chfast wants to merge 1 commit intodocopt:masterfrom
Closed
Conversation
This replaces 2 libraries declared in CMake: docopt (SHARED) and docopt_s (STATIC) with single one docopt which can be built as static or shared depending on -DBUILD_SHARED_LIBS=ON/OFF.
|
So why did this get stuck? |
|
Just FYI, various distros (at least Fedora and Arch) have policies which prevent installing static libraries. This is a problem because the resulting RPMs contain just the shared library, but the installed CMake target files attempt to reference the The easiest workaround is to give up on CMake files and just use pkg-config, of course. |
jktjkt
added a commit
to CESNET/velia
that referenced
this pull request
Feb 5, 2023
The upstream project provides a CMake file which attempts to import both static and shared libraries. This is a problem on any reasonable distribution because Nobody Ships Static Libraries Anymore (for reasonable reasons). So we have distros shipping CMake files from upstream which are broken because distros actively remove the static library from their packaging. This was not caught by the CI because I cannot type `Depends-on` properly, and therefore Zuul would feed oldish prebuilt dependencies which still included the custom-built docopt library in both static and shared versions. We need a linter for commit footers :p. Fixes: Ib246d39f975c00bc6489f683f1f21f34cc808201 Fixes: 4e473f1 CI: use system docopt-cpp Bug: docopt/docopt.cpp#134 Change-Id: Ief13813210199d8d58b82659e522a941033f6302
jktjkt
added a commit
to CESNET/netconf-cli
that referenced
this pull request
Feb 10, 2023
The upstream project provides a CMake file which attempts to import both static and shared libraries. This is a problem on any reasonable distribution because Nobody Ships Static Libraries Anymore (for reasonable reasons). So we have distros shipping CMake files from upstream which are broken because distros actively remove the static library from their packaging. This was not caught by the CI because I cannot type `Depends-on` properly, and therefore Zuul would feed oldish prebuilt dependencies which still included the custom-built docopt library in both static and shared versions. We need a linter for commit footers :p. Fixes: Ib246d39f975c00bc6489f683f1f21f34cc808201 Fixes: 88db08a CI: use system docopt-cpp Bug: docopt/docopt.cpp#134 Change-Id: Ief13813210199d8d58b82659e522a941033f6302
jktjkt
pushed a commit
to CESNET/sysrepo-ietf-alarms
that referenced
this pull request
Feb 14, 2023
The upstream project provides a CMake file which attempts to import both static and shared libraries. This is a problem on any reasonable distribution because Nobody Ships Static Libraries Anymore (for reasonable reasons). So we have distros shipping CMake files from upstream which are broken because distros actively remove the static library from their packaging. This was not caught by the CI because `Depends-on` was not typed properly , and therefore Zuul would feed oldish prebuilt dependencies which still included the custom-built docopt library in both static and shared versions. We need a linter for commit footers :p. Fixes: Ib246d39f975c00bc6489f683f1f21f34cc808201 Fixes: c64c42a CI: use system docopt-cpp Bug: docopt/docopt.cpp#134 Change-Id: Ia50595b36cfe233fd67a5153ff804d77a0c77b94
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #104
This replaces 2 libraries declared in CMake: docopt (SHARED) and
docopt_s (STATIC) with single one docopt which can be built as static or
shared depending on -DBUILD_SHARED_LIBS=ON/OFF.